#include "stdafx.h"

enum TaskType {
	TaskTypeTesting = 0,
	TaskTypeMain = 1
};

class Task
{
private:
	TaskType type;
	int size_x, size_y;
	double accuracy;
	int num_steps;

	double* matrix;
	double* matrix2;
	double* diff;
public:
	Task(TaskType _t, int x, int y, double acc, int steps); ;
	~Task();

	void solve(int size_x, int size_y, double* matrix);
	double* getSolution();
	double* getSolution2();
	double* getDifference();

	int getSizeX() { return size_x; };
	int getSizeY() { return size_y; };
	void getReport(double& x_max, double& y_max, double& max, double& acc, int& st);
	TaskType getTaskType() { return type; };
};
